As is known the art, graphs can be used to model relationships between objects. The objects may be represented as nodes (or “vertices”) and the object relationships may be represented as lines (or “edges”) connecting the nodes. A tree is a type of graph that can be used to represent hierarchical data. Starting from a root node, each node in a tree can have zero, one, or more than one child nodes (or “children”). Nodes without children are referred to as leaf nodes. Each node within a tree, except for the root node, has exactly one parent node (or “parent”).
As is also known in the art, various techniques exist for visualizing trees and other types of graphs. For example, a dendrogram is a type tree diagram frequently used to illustrate the arrangement of clusters produced by hierarchical clustering. In a dendrogram, the leaves may represent individual data points (“observations”), while the remaining nodes may represent different levels of clusters to which the data belong. As another example, the Tidy Tree layout algorithm can be used to generate two-dimensional (2D) tree diagrams based on an input dataset. For large trees (e.g., trees with hundreds or thousands of nodes) existing layout algorithms may produce tree diagrams that are so large, in terms of the number of pixels or inches required to fit the diagram, that it can be difficult to view and comprehend the diagrams.